/*
 * detail.js
 */

$(function(){
    function wxconfig(){
        var time = Math.ceil(+ new Date() / 1);
        $.ajax({
            type: 'POST',
            url: config.api.sign, 
            data: {
                "noncestr": "inmycars",
                "timestamp": time,
                "url": window.location.href.split('#')[0]
            }
        }).then(function(ret, data){
            console.log(ret, data);
            wx.config({
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                appId: 'wxcfeeec32ba298ec6', // 必填，公众号的唯一标识
                timestamp: time, // 必填，生成签名的时间戳
                nonceStr: 'inmycars', // 必填，生成签名的随机串
                signature: ret.sign,// 必填，签名，见附录1
                jsApiList: [
                    'previewImage',
                    'showMenuItems'
                ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
            });
        }, function(err){
            console.log(err);
        })
    }
    wxconfig();

    function dialog(msg){
        $('.dialog .dialog-cnt').text(msg);
        $('.dialog').show();
    }

    function getDetail(id){
        $.ajax({
            url: config.api.detail + id
        }).then(function(ret){
            console.log(ret);
            var data = ret.data; 

            console.log(data);
            $('.detail').data('id', data.id);
            $('.detail-img').attr('src', data.photo.url);
            $('.detail-name').text(data.customer.user.nickname + '的作品');
            $('.detail-mobile').text(data.customer.user.name);
            $('.detail-vote').text(data.voteNum + '票');
            $('.detail-rank').text('排名: ' + data.sortnum);
        }, function(err){
            console.log(err);
            return;
        })
    }

    function vote(){
        console.log(config.api.vote + id + '/vote')
        $.ajax({
            url: config.api.vote + id + '/vote'
        }).then(function(ret){
            console.log(ret);
            alert(ret.message);
            $('.show-box').show();
            $('.control-box').hide();
            getDetail(id);
            $('#vote').text('我要投票').removeClass('disabled');
        }, function(err){
            console.log(err, JSON.parse(err.responseText));
            if(err.readyState === 4 && JSON.parse(err.responseText).status === 403){
                $('#vote').text('我要投票').removeClass('disabled');
                $('.show-box').hide();
                $('.control-box').show();
            }else{
                alert(err.message || '投票出错');
            }


        })
        return false;
    }

    function login(callback){
        var mobile = $('input[name=mobile]').val();
        var verify = $('input[name=verify]').val();
        if(!mobile || !verify){
            return;
        }
        $.ajax({
            url: config.api.login,
            data: {
                name: mobile,
                verify: verify
            }
        }).then(function(ret){
            console.log(ret);
            callback && callback()
        }, function(err){
            console.log(err);
            if(err.status === 401){
                dialog('手机验证出错')
            }else{
                alert('请求不正确')
            }
            $('#confirm').text('提交').removeClass('disabled');
        })
        return false;
    }

    var counting = false;
    function sendSms(num, callback){
        if(counting){
            return;
        }

        counting = true;

        $.ajax({
            url: config.api.sms + num
        }).then(function(ret){
            console.log(ret);
            callback && callback(60);
            alert('发送成功');
        }, function(err){
            console.log(err);
        })
    }

    var num = 60;
    function countdown(count){
        num = count || num;
        $('#send').text(num);
        if(num > 0){
            counting = true;
            num--;
            setTimeout(function(){
                countdown();
            }, 1000)
        }else{
            counting = false;
            $('#send').text('发送'); 
        }
    }


    $('.dialog .dialog-ft').on('click', function(e){
        $('.dialog').hide();
    });

    $('#vote').on('click', function(e){
        vote();
        return false;
    });
    $('#showVote').on('click', function(e){
        vote();
        return false;
    });

    $('#send').on('click', function(e){
        var mobile = $('input[name=mobile]').val();
        console.log(mobile);
        if(!utils.mobile(mobile)){
            dialog('请输入您的手机号码');
            return;
        }
        sendSms(mobile, countdown);
    });

    $('#confirm').on('click', function(e){
        var mobile = $('input[name=mobile]').val();
        var verify = $('input[name=verify]').val();
        if(!utils.mobile(mobile)){
            dialog('请输入您的手机号码');
            return false;
        }
        if(!verify){
            dialog('请输入手机验证码');
            return false;
        }
        if($(this).hasClass('disabled')){
            return;
        }
        $(this).text('提交中').addClass('disabled');
        login(vote);
        return false;
    });

    $('.detail-img').on('click', function(e){
        var img = $(this).attr('src');
        wx.previewImage({
            current: img, // 当前显示图片的http链接
            urls: [img] // 需要预览的图片http链接列表
        });
    })

    $('.share-icon').on('click', function(e){
        alert('你可以分享给朋友和朋友圈');
        /*
        wx.showMenuItems({
            menuList: [
                'menuItem:share:appMessage',    
                'menuItem:share:timeline',
                'menuItem:refresh',
                'menuItem:favorite',
                'menuItem:copyUrl',
                'menuItem:openWithSafari'
            ]
        });
        */
    })



    var id = utils.getParameter(null, 'id').split('#')[0];
    console.log(id);
    getDetail(id);

})
